<?php

/**
 * 
 * Permite almacenar la informacion correspondiente a los posts
 * id_post : Identificador del posts
 * id_status : Estatus del post, estos pueden ser los siguientes:  <ul>
 *                                                                    <li>Borrador</li>
 *                                                                    <li>Publicado</li>
 *                                                                    <li>Despublicado</li>
 *                                                                    <li>Eliminado</li>     
 *                                                                 </ul> 
 * id_categoria :    Categoria a la cual se asigna el posts
 * titulo       :    Titulo que aparecera en la parte superior del post
 * descripcion  :    Descripcion del post
 * contenido    :    Contiene la informacion del post
 * fecha_registro   :   Fecha en la que se crea el post
 * fecha_actualizacion   :   Cada que se actualice el post, se modificara con la fecha mas reciente
 * fecha_publicacion   :   Fecha en la que se publicara el post
 * fecha_fin_publicacion   :   Si se registra la fecha de fin de publicacion del post, este solo aparecera 
 *                             hasta la fecha de publicacion que se especifique
 * id_usuario_registro   :   Usuario que crea el post
 * id_usuario_actualizacion   :   Usuario que actualiza la informacion del post
 * 
 * opciones   :   Almacena las opciones que se aplicaran al post las cuales son las siguientes
 *                   <ul>
 *                      <li>mostar_titulo : Si se especifica mostrara el titulo del post</li> 
 *                      <li>enlazar_titulo : Si se especifica se añade un enlace al titulo del post</li>
 *                      <li>mostrar_texto_introduccion : Si se especifica muestra el texto correspondiente al post antes del leer mas</li> 
 *                      <li>mostrar_categoria : Muestra la categoria en la que se almaceno el post</li> 
 *                      <li>enlazar_categoria : Añade un enlace a la categoria</li> 
 *                      <li>mostrar_autor : Muestra el autor del post</li> 
 *                      <li>enlazar_autor : Añade un enlace al autor del post</li>
 *                      <li>mostrar_fecha_creacion : Muestra la fecha de creacion del post</li> 
 *                      <li>mostrar_fecha_actualizacion : Muestra la fecha de actualizacion del post</li> 
 *                      <li>mostar_fecha_publicacion : Muestra la fecha de la publicacion</li> 
 *                      <li>mostar_navegacion : Muestra una barra de navegacion </li> 
 *                      <li>mostrar_iconos : Muestra  texto o iconos en las opciones de editar,email, imprimir</li> 
 *                      <li>mostrar_votar : Si se activa permite activar la votacion del post</li>
 *                      <li>mostar_visitas : Muestra el total de las visitas que se hacen al post</li> 
 *                      <li>mostrar_imprimir : Muestra la opcion de imprimir</li> 
 *                      <li>mostrar_email : Muestra la opcion de enviar email</li> 
 *                      <li>mostrar_editar : Muestra la opcion de editar, pero solo cuanto se tiene permisos</li> 
 *                      <li>posicion_enlaces : Posicion donde se situan los enlaces de siguente/anterior </li>
 *                   </ul>
 *
 */
class MPost
   {
      private $_id_post;
      private $_id_status;
      private $_id_categoria;
      
      private $_titulo;
      private $_descripcion;
      private $_contenido;
      
      private $_fecha_registro;
      private $_fecha_publicacion;
      private $_fecha_fin_publicacion;
      private $_fecha_actualizacion;
      
      private $_id_usuario_registro;
      private $_id_usuario_actualizacion;
      
      private $_opciones;
      private $_total_comentarios;
      
      
      function __construct ( )
         {
            $this -> setId_post( "" );
            $this -> setId_status( "" );
            $this -> setId_categoria( "" );
            
            $this -> setTitulo( "" );
            $this -> setDescripcion( "" );
            $this -> setContenido( "" );
            
            $this -> setFecha_registro( "" );
            $this -> setFecha_publicacion( "" );
            $this -> setFecha_actualizacion( "" );
            $this -> setFecha_fin_publicacion( "" );
            $this -> setId_usuario_actualizacion( "" );
            $this -> setId_usuario_registro( "" );
            
            $this -> setTotal_comentarios( 0 );
            
            $opciones = array( "mostrar_titulo" => "", 
                               "enlazar_titulo" => "", 
                               "mostrar_texto_introduccion" => "", 
                               "mostrar_categoria" => "", 
                               "enlazar_categoria" => "", 
                               "mostrar_autor" => "", 
                               "enlazar_autor" => "", 
                               "mostrar_fecha_creacion" => "", 
                               "mostrar_fecha_actualizacion" => "", 
                               "mostar_fecha_publicacion" => "", 
                               "mostar_navegacion" => "", 
                               "mostrar_iconos" => "", 
                               "mostrar_votar" => "",
                               "mostar_visitas" => "", 
                               "mostrar_imprimir" => "", 
                               "mostrar_email" => "", 
                               "mostrar_editar" => "", 
                               "posicion_enlaces" => "" );
            
            $this -> setOpciones( $opciones );
         }
	/**
     * @return the $_id_post
     */
      public function getId_post ( )
         {
            return $this->_id_post;
         }
   
	/**
     * @return the $_id_status
     */
      public function getId_status ( )
         {
            return $this->_id_status;
         }
   
	/**
     * @return the $_titulo
     */
      public function getTitulo ( )
         {
            return $this->_titulo;
         }
   
	/**
     * @return the $_descripcion
     */
      public function getDescripcion ( )
         {
            return $this->_descripcion;
         }
   
	/**
     * @return the $_contenido
     */
      public function getContenido ( )
         {
            return $this->_contenido;
         }
   
	/**
     * @return the $fecha_registro
     */
      public function getFecha_registro ( )
         {
            return $this->_fecha_registro;
         }
   
	/**
     * @return the $_fecha_publicacion
     */
      public function getFecha_publicacion ( )
         {
            return $this->_fecha_publicacion;
         }
   
	/**
     * @return the $_total_comentarios
     */
      public function getTotal_comentarios ( )
         {
            return $this->_total_comentarios;
         }
   
	/**
     * @param field_type $_id_post
     */
      public function setId_post ( $_id_post )
         {
            $this->_id_post = $_id_post;
         }
   
	/**
     * @param field_type $_id_status
     */
      public function setId_status ( $_id_status )
         {
            $this->_id_status = $_id_status;
         }
   
	/**
     * @param field_type $_titulo
     */
      public function setTitulo ( $_titulo )
         {
            $this->_titulo = $_titulo;
         }
   
	/**
     * @param field_type $_descripcion
     */
      public function setDescripcion ( $_descripcion )
         {
            $this->_descripcion = $_descripcion;
         }
   
	/**
     * @param field_type $_contenido
     */
      public function setContenido ( $_contenido )
         {
            $this->_contenido = $_contenido;
         }
   
	/**
     * @param field_type $fecha_registro
     */
      public function setFecha_registro ( $fecha_registro )
         {
            $this->_fecha_registro = $fecha_registro;
         }
   
	/**
     * @param field_type $_fecha_publicacion
     */
      public function setFecha_publicacion ( $_fecha_publicacion )
         {
            $this->_fecha_publicacion = $_fecha_publicacion;
         }
   
	/**
     * @param field_type $_total_comentarios
     */
      public function setTotal_comentarios ( $_total_comentarios )
         {
            $this->_total_comentarios = $_total_comentarios;
         }
	/**
     * @return the $_id_categoria
     */
      public function getId_categoria ( )
         {
            return $this->_id_categoria;
         }
   
	/**
     * @return the $_fecha_fin_publicacion
     */
      public function getFecha_fin_publicacion ( )
         {
            return $this->_fecha_fin_publicacion;
         }
   
	/**
     * @return the $_fecha_actualizacion
     */
      public function getFecha_actualizacion ( )
         {
            return $this->_fecha_actualizacion;
         }
   
	/**
     * @return the $_id_usuario_registro
     */
      public function getId_usuario_registro ( )
         {
            return $this->_id_usuario_registro;
         }
   
	/**
     * @return the $_id_usuario_actualizacion
     */
      public function getId_usuario_actualizacion ( )
         {
            return $this->_id_usuario_actualizacion;
         }
   
	/**
     * @return the $_opciones
     */
      public function getOpciones ( )
         {
            return $this->_opciones;
         }
   
	/**
     * @param field_type $_id_categoria
     */
      public function setId_categoria ( $_id_categoria )
         {
            $this->_id_categoria = $_id_categoria;
         }
   
	/**
     * @param field_type $_fecha_fin_publicacion
     */
      public function setFecha_fin_publicacion ( $_fecha_fin_publicacion )
         {
            $this->_fecha_fin_publicacion = $_fecha_fin_publicacion;
         }
   
	/**
     * @param field_type $_fecha_actualizacion
     */
      public function setFecha_actualizacion ( $_fecha_actualizacion )
         {
            $this->_fecha_actualizacion = $_fecha_actualizacion;
         }
   
	/**
     * @param field_type $_id_usuario_registro
     */
      public function setId_usuario_registro ( $_id_usuario_registro )
         {
            $this->_id_usuario_registro = $_id_usuario_registro;
         }
   
	/**
     * @param field_type $_id_usuario_actualizacion
     */
      public function setId_usuario_actualizacion ( $_id_usuario_actualizacion )
         {
            $this->_id_usuario_actualizacion = $_id_usuario_actualizacion;
         }
   
	/**
     * @param field_type $_opciones
     */
      public function setOpciones ( $_opciones )
         {
            $this->_opciones = $_opciones;
         }
   }